(a) Field of the Invention
This invention relates generally to reverse coding of encoded binary files prior to transmission on the Internet, to reduce the bandwidth needed for such files.
(b) Description of Related Art
The explosive growth and use of the Internet has resulted in an ever-increasing need for network bandwidth. The use of data compression techniques has reduced the amount of bandwidth required for transmission of a file and it has improved the performance of communication networks. At the present time, most web based applications use compression technology to more efficiently transfer data over the Internet, using techniques such as the algorithms based on the work of J. Ziv and A. Lempel. Unfortunately, when such information is encapsulated within NNTP, for example, the binary form of such information is ASCII encoded, and such encoding expands the amount of transmitted data by as much as 35%. It will be apparent that there is still a need for more bandwidth particularly in wireless networks where bandwidth is limited, and it is important to utilize the available bandwidth in an efficient manner.
One factor in the increased use of available bandwidth has to do with the Uuencoding of certain binary data. During the early days of the Internet, the only use of mail and news consisted of the exchange of simple textual messages composed of ASCII characters which have 6 bits-per-byte words The NNTP and SMTP protocols, which define how messages are exchanged over the Internet, were defined to handle only ASCII formatted words. Unfortunately, those protocols alone were unable to properly transmit 8 bit binary data such as graphic images, compressed data files, spreadsheets, programs or documents generated by word processors, etc.
To enable the inclusion of 8 bit binary data in news and mail messages without the need for a modification of all the news servers and clients on the net, algorithms were developed for transforming or encoding 8 bit-per-byte files into 6 bit-per-byte files formats, and vice-versa. One of the most widely used encoding schemes used in UNIX, Windows, MicroSoft-DOS, Macintosh, and other operating systems is the Uuencode utility. Uuencode stands for Unix-to-Unix encode. It is an ASCII (or text) base binary encoding protocol used on the Internet to transfer binary files across multiple operating system platforms.
The Uuencode and Uudecode utilities are used to transmit binary files over transmission mediums that cannot handle 8 bit-per-byte binary word formats. Unfortunately, the major drawback of Uuencoding is that the encoded form of the file is expanded, as previously mentioned, by as much as 35% (because 3 bytes become 4, plus additional control information). However, in many wireless and terrestrial networks, the encoding of such binary files is unnecessary and expensive (with respect to the need for network bandwidth).
A research program has shown that approximately 40% of the reviewed Internet traffic volume is Internet Network News. The Internet Network News uses the NNTP application protocol to send and receive network news articles and image files. An experiment was conducted wherein NNTP data packets were captured and compressed using several Ziv and Lempel based compression algorithms. The overall results of the experiment yielded a disappointing compression result of 1:1.01. The main reason for the poor compression result is that the original data had already been compressed. Consequently, any further attempts to compress the data would result in little improvement. Hence, as more end-user applications compress their binary content prior to transmission, the less effective are intermediate processing gateways in further compressing the data.